﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NEGOCIOS
{
    public class AccionesListaMensajesServidor
    {
        public ListaMensajesServidor ListaMensajesServidor
        {
            get
            {
                throw new System.NotImplementedException();
            }
            set
            {
            }
        }
    
        public List<string> ListaDeMensajesPorUsuario_ToString_List(string usuario, List<Message> listaMenssage)
        {
            List<string> lista = new List<string>();
            for (int i = 0; i < listaMenssage.Count; i++)
            {
                string resultado = VerificarPertenenciaDeMensaje(usuario, listaMenssage.ElementAt(i));
                AgregarMnesajesAlaLista(lista, i, resultado);
            }
            return lista;
        }
        private void AgregarMnesajesAlaLista(List<string> lista, int i, string resultado)
        {
            if (resultado != null)
            {
                lista.Add(i + "ª" + resultado);
            }
        }
        public void AtualizarEstadoCorreo(int posicion, List<Message> listaMenssage)
        {
            for (int i = 0; i < listaMenssage.Count; i++)
            {
                AtualizarEstadoCorreo(posicion, i, listaMenssage);
            }
        }
        private void AtualizarEstadoCorreo(int posicion, int i, List<Message>  listaMenssage)
        {
            if (i == posicion)
            {
                Message mensaje = listaMenssage.ElementAt(i);
                mensaje.cambiarEstado(true);
            }
        }
        private string VerificarPertenenciaDeMensaje(string usuario, Message mensaje)
        {
            if (usuario == mensaje.SeleccionarDestinatario())
            {
                return mensaje.toString();
            }
            return null;
        }
    }
}
